Skip to content

自执行函数:for循环 + setTimeout 例子

字数
83 字
阅读时间
1 分钟

问题:

for( var i=0;i<3;i++){
    setTimeout(function(){
        console.log(i);
    }
    ,300);
}
// 输出结果 3,3,3

写法一:

for( var i=0;i<3;i++){
    (function(lockedIndex){
        setTimeout(function(){
            console.log(lockedIndex);
        }
        ,300);
    })(i);
}
// 输出 "1,2,3"

写法二:比写法一先执行

for( var i=0;i<3;i++){
    setTimeout((function(lockedInIndex){
        console.log(lockedInIndex);
    })(i)
    ,300);
}
// 输出 "1,2,3"

贡献者

页面历史